#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
const int N=1010;
int n,m;
int a[N],b[N];
int disc[N*4];
int pos;
int w[N*4];
bool st[N*4];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>a[i]>>b[i];
        disc[++pos]=a[i];disc[++pos]=a[i]+1;
        disc[++pos]=b[i];disc[++pos]=b[i]+1;
    }
    int cnt=0;
    sort(disc+1,disc+1+pos);
    unordered_map<int,int> mp;
    for(int i=1;i<=pos;i++)
    {
        int x=disc[i];
        if(mp.count(x))continue;
        cnt++;
        mp[x]=cnt;
    }
    for(int i=1;i<=m;i++)
    {
        int left=mp[a[i]];int right=mp[b[i]];
        for(int j=left;j<=right;j++)
        {
            w[j]=i;
        }
    }
    int ret=0;
    for(int i=1;i<=cnt;i++)
    {
        if(w[i]&&st[w[i]]==false)
        {
            ret++;
            st[w[i]]=true;
        }
    }
    cout<<ret<<endl;
    return 0;
}
